/**
 * 
 */
package com.clases;

import android.app.AlertDialog;
import android.content.Context;
import android.os.AsyncTask;

import com.callbacks.Callbacks.LCompleted;
import com.constantes.Constantes;
import com.soap.Soap_Lugar;
import com.util.AlertDialogHelper;

/**
 * @author Chris_maraco_intenso
 */
public class Lugar extends AsyncTask<Integer, String, Lugar[]> {

	private Categoria Categoria;
	private String Descripcion;

	private String Direccion;

	private int IDLugar;

	private int last;

	private String Nombre;

	private String Portada;

	private int Puntaje;

	private Ubicacion Ubicacion;

	private LCompleted callbackLugar;

	private AlertDialog progress;

	private Context context;

	public Lugar() {
		super();

	}

	public Lugar(Context context) {
		super();
		this.context = context;
	}

	@Override
	protected Lugar[] doInBackground(Integer... params) {

		switch (params[0]) {
			case Constantes.ACCION_LUGAR_GET_INICIO:
				return new Soap_Lugar().getLugaresInicio(this.last);
			case Constantes.ACCION_LUGAR_GET_CATEGORIA:
				return new Soap_Lugar().getLugaresCategoria(
						this.Categoria.getIDCategoria(), this.last);
			case Constantes.ACCCION_LUGAR_GET_BUSQUEDA:
				return new Soap_Lugar().getLugaresBusqueda(this.Nombre,
						this.last);
			case Constantes.ACCION_EVALUAR_LUGAR:
				new Soap_Lugar().rateLugar(this.Puntaje, this.IDLugar,
						Constantes.USER_LOGGED);
				return null;

			case Constantes.ACCION_GET_EVALUACION:
				Lugar[] lug = new Lugar[1];
				Lugar l = new Lugar();
				l.Puntaje = new Soap_Lugar().getRateLugar(this.IDLugar);
				lug[0] = l;
				return lug;

			default:
				return null;
		}
	}

	public LCompleted getCallbackLugar() {

		return callbackLugar;
	}

	public Categoria getCategoria() {

		return Categoria;
	}

	public Context getContext() {
		return context;
	}

	public String getDescripcion() {

		return Descripcion;
	}

	public String getDireccion() {

		return Direccion;
	}

	public int getIDLugar() {

		return IDLugar;
	}

	public int getLast() {

		return last;
	}

	public String getNombre() {

		return Nombre;
	}

	public String getPortada() {

		return Portada;
	}

	public int getPuntaje() {

		return Puntaje;
	}

	public Ubicacion getUbicacion() {

		return Ubicacion;
	}

	@Override
	protected void onPostExecute(Lugar[] result) {

		if (callbackLugar != null)
			callbackLugar.Completed(result);

		progress.dismiss();
	}

	@Override
	protected void onPreExecute() {

		progress = AlertDialogHelper.setProgressDialog(progress, "Cargando...",
				context);
		progress.show();
	}

	public void setCallbackLugar(LCompleted callbackLugar) {

		this.callbackLugar = callbackLugar;
	}

	public void setCategoria(Categoria categoria) {

		Categoria = categoria;
	}

	public void setContext(Context context) {
		this.context = context;
	}

	public void setDescripcion(String descripcion) {

		Descripcion = descripcion;
	}

	public void setDireccion(String direccion) {

		Direccion = direccion;
	}

	public void setIDLugar(int iDLugar) {

		IDLugar = iDLugar;
	}

	public void setLast(int last) {

		this.last = last;
	}

	public void setNombre(String nombre) {

		Nombre = nombre;
	}

	public void setPortada(String portada) {

		Portada = portada;
	}

	public void setPuntaje(int puntaje) {

		Puntaje = puntaje;
	}

	public void setUbicacion(Ubicacion ubicacion) {

		Ubicacion = ubicacion;
	}

}
